import { Application } from 'egg';

export default (app: Application) => {
    const { controller, router } = app;

    /**
     * @api {post} /api/admin/login 后台登录
     * @apiName login
     * @apiGroup admin
     *
     * @apiParam {String} username 用户名.
     * @apiParam {String} password 密码.
     *
     * @apiSuccess {int} code 返回状态码（1：登录成功，2：登录失败，3：服务器出错，4：参数不全）
     * @apiSuccess {String} msg 返回状态码对应的信息
     * @apiSuccess {Object} data 返回的数据
     * @apiSuccess {String} data.token 登录成功后返回的token
     * @apiSuccess {String} data.admin_identity 登录成功后返回管理员身份（1：超级管理员，2：普通管理员）
     *
     */
    router.post('/api/admin/login', controller.admin.login);

    /**
     * @api {post} /api/admin/createAdmin 新增管理员
     * @apiName createAdmin
     * @apiGroup admin
     *
     * @apiParam {String} admin_username 用户名.
     * @apiParam {String} admin_password 密码.
     * @apiParam {String} admin_identity 管理员身份（1：超级管理员，2：普通管理员）.
     *
     */
    router.post('/api/admin/createAdmin', controller.admin.createAdmin);

    /**
    * @api {post} /api/admin/deleteAdmin 删除管理员
    * @apiName deleteAdmin
    * @apiGroup admin
    *
    * @apiParam {String} admin_id 管理员id.
    *
    */
    router.post('/api/admin/deleteAdmin', controller.admin.deleteAdmin);

    /**
     * @api {post} /api/admin/searchAdminByParam 查找管理员
     * @apiName searchAdminByParam
     * @apiGroup admin
     *
     * @apiParam {String} page 页码.
     * @apiParam {String} size 显示大小.
     * @apiParam {String} admin_username 用户名.
     * 
     * @apiSuccess {Object} data 返回的数据
     * @apiSuccess {String} data.admin_id 管理员id
     * @apiSuccess {String} data.admin_username 用户名
     * @apiSuccess {String} data.admin_password 密码
     * @apiSuccess {String} data.admin_indectity 管理员身份（1：超级管理员，2：普通管理员）
     * @apiSuccess {String} data.admin_status 状态（1：启用，2：停用）
     * @apiSuccess {String} data.created_at 创建时间
     *
     */
    router.post('/api/admin/searchAdminByParam', controller.admin.searchAdminByParam);

    /**
     * @api {post} /api/admin/updateAdmin 修改管理员
     * @apiName updateAdmin
     * @apiGroup admin
     *
     * @apiParam {String} admin_id 用户id.
     * @apiParam {String} admin_username 用户名.
     * @apiParam {String} admin_password 用户密码.
     *
     */
    router.post('/api/admin/updateAdmin', controller.admin.updateAdmin);

    /**
     * @api {post} /api/admin/startAndStopAdmin 启用、停用管理员
     * @apiName startAndStopAdmin
     * @apiGroup admin
     *
     * @apiParam {String} admin_id 用户id.
     * @apiParam {String} type 操作类型（1：启用，2：停用）.
     *
     */
    router.post('/api/admin/startAndStopAdmin', controller.admin.startAndStopAdmin);

    /**
     * @api {post} /api/user/searchUserById 根据id查找用户信息
     * @apiName searchUserById
     * @apiGroup user
     *
     * @apiParam {String} userId 用户id.
     *
     * @apiSuccess {Object} data 返回的数据
     * @apiSuccess {String} data.user_id 用户id
     * @apiSuccess {String} data.user_nickname 用户昵称
     * @apiSuccess {String} data.user_phone 手机号
     * @apiSuccess {String} data.user_sex 性别（1:男，2：女）
     * @apiSuccess {String} data.user_sound_url 录音url
     * @apiSuccess {String} data.user_sound_status 录音状态（1：待审核，2：正常，3：屏蔽）
     * @apiSuccess {String} data.chool_name 学校
     * @apiSuccess {String} data.school_badge 校徽
     * @apiSuccess {String} data.user_college 学院
     * @apiSuccess {String} data.user_signature 签名
     * @apiSuccess {int} data.user_be_reported 被举报次数
     * @apiSuccess {Object[]} data.paintvalue 用户信息（画像数据）
     * @apiSuccess {String} data.paintvalue.paint_title 画像标题
     * @apiSuccess {String} data.paintvalue.paint_value 画像值（多个值用逗号隔开）
     *
     */
    router.post('/api/user/searchUserById', controller.user.searchUserById);

    /**
     * @api {post} /api/user/wx/searchUserPageById 根据id获取个人主页信息 - 微信
     * @apiName searchUserPageById
     * @apiGroup user
     *
     * @apiParam {String} user_id 用户id.
     * @apiParam {String} type 类别（1：查看个人主页时，2：修改个人资料时）.
     *
     * @apiSuccess {Object} data 返回的数据
     * @apiSuccess {String} data.user_id 用户id
     * @apiSuccess {String} data.user_nickname 用户昵称
     * @apiSuccess {String} data.user_phone 手机号
     * @apiSuccess {String} data.user_school_year 学年
     * @apiSuccess {String} data.user_sex 性别（1:男，2：女）
     * @apiSuccess {String} data.user_sound_url 录音url
     * @apiSuccess {String} data.user_sound_status 录音状态（1：待审核，2：正常，3：屏蔽）
     * @apiSuccess {String} data.is_new 是否是新用户（1:是，2：否）
     * @apiSuccess {String} data.school_name 学校
     * @apiSuccess {String} data.school_badge 校徽
     * @apiSuccess {String} data.college_name 学院
     * @apiSuccess {int} data.age_limit 年限
     * @apiSuccess {String} data.user_signature 签名
     * @apiSuccess {int} data.user_be_reported 被举报次数
     * @apiSuccess {Object[]} data.paintvalue 用户信息（画像数据）
     * @apiSuccess {String} data.paintvalue.paint_title 画像标题
     * @apiSuccess {String} data.paintvalue.paint_color 颜色
     * @apiSuccess {String[]} data.paintvalue.paint_value 画像值
     * @apiSuccess {String} data.paintvalue.paint_value.paint_value_id 画像值id
     * @apiSuccess {String} data.paintvalue.paint_value.paint_value_title 画像值标题
     * @apiSuccess {int} data.evaluateCount 评论数
     * @apiSuccess {Object[]} data.evaluate 评论列表
     * @apiSuccess {String} data.evaluate.evaluate_id 评价id
     * @apiSuccess {String} data.evaluate.user_id 用户id
     * @apiSuccess {String} data.evaluate.user_nickname 用户昵称
     * @apiSuccess {String} data.evaluate.user_sex 性别
     * @apiSuccess {String} data.evaluate.school_name 学校名
     * @apiSuccess {String} data.evaluate.school_badge 校徽
     * @apiSuccess {String} data.evaluate.college_name 学院名
     * @apiSuccess {int} data.evaluate.age_limit 年限
     * @apiSuccess {String} data.evaluate.evaluate_content 评论内容
     * @apiSuccess {String} data.evaluate.evaluate_status 状态（1：公开，2：私密）
     *
     */
    router.post('/api/user/wx/searchUserPageById', controller.user.searchUserPageById);

    /**
     * @api {post} /api/user/wx/updateUserNew 修改新用户为老用户
     * @apiName updateUserNew
     * @apiGroup user
     *
     * @apiParam {String} user_id 用户id.
     *
     */
    router.post('/api/user/wx/updateUserNew', controller.user.updateUserNew);

    /**
     * @api {post} /api/user/searchUserListByParam 根据条件查找用户列表
     * @apiName searchUserListByParam
     * @apiGroup user
     *
     * @apiParam {int} page 页码.
     * @apiParam {int} size 每页显示大小.
     * @apiParam {String} [user_phone] 手机号.
     * @apiParam {String} [user_sex] 性别（1：男，2：女）.
     * @apiParam {String} [user_school_id] 学校id.
     * @apiParam {int} [user_finish_start] 画像完成度（例：0）.
     * @apiParam {int} [user_finish_end] 画像完成度（例：30）.
     *
     * @apiSuccess {Object} data 返回的数据
     * @apiSuccess {int} data.count 数据总数
     * @apiSuccess {Object[]} userInfo 用户列表
     * @apiSuccess {String} userInfo.user_id 用户id
     * @apiSuccess {String} userInfo.user_nickname 昵称
     * @apiSuccess {String} userInfo.user_phone 手机号码
     * @apiSuccess {String} userInfo.user_sex 性别
     * @apiSuccess {String} userInfo.user_sound_url 录音url
     * @apiSuccess {String} userInfo.user_sound_status 录音状态（1：待审核，2：正常，3：屏蔽）
     * @apiSuccess {String} userInfo.user_school 学校
     * @apiSuccess {String} userInfo.user_badge 校徽
     * @apiSuccess {String} userInfo.user_college 学院
     * @apiSuccess {String} userInfo.user_finish 画像完成度
     * @apiSuccess {String} userInfo.user_time 平均浏览时间
     * @apiSuccess {String} userInfo.user_signature 签名
     * @apiSuccess {String} userInfo.user_status 用户状态（1：封号，2：禁言，3：正常）
     * @apiSuccess {int} [userInfo.excuse_time] 禁言时长（单位：小时）（状态为2时）
     *
     */
    router.post('/api/user/searchUserListByParam', controller.user.searchUserListByParam);

    /**
     * @api {post} /api/user/editUserStatus 操作用户状态
     * @apiName editUserStatus
     * @apiGroup user
     *
     * @apiParam {int} type 操作类型（1：封号，2：解除封号，3：禁言，4：解除禁言）.
     * @apiParam {String} user_id 用户id.
     * @apiParam {String} [anexcuse_time] 禁言时间（操作状态为3时）.
     *
     */
    router.post('/api/user/editUserStatus', controller.user.editUserStatus);

    /**
     * @api {post} /api/user/createPicture 增加图片
     * @apiName createPicture
     * @apiGroup user
     *
     * @apiParam {String} user_id 用户id.
     * @apiParam {String} picture_name 图片名.
     *
     */
    router.post('/api/user/createPicture', controller.user.createPicture);

    /**
     * @api {post} /api/user/deletePicture 删除图片
     * @apiName deletePicture
     * @apiGroup user
     *
     * @apiParam {String} picture_id 图片id.
     *
     */
    router.post('/api/user/deletePicture', controller.user.deletePicture);

    /**
     * @api {post} /api/user/searchPicture 查找图片列表
     * @apiName searchPicture
     * @apiGroup user
     *
     * @apiParam {String} user_id 用户id.
     * @apiParam {String} page 页码.
     * @apiParam {String} size 一页显示条数.
     * 
     * @apiSuccess {Object} data 返回的数据.
     * @apiSuccess {int} data.count 图片总数.
     * @apiSuccess {Object[]} data.picture_list 图片列表.
     * @apiSuccess {String} data.picture_list.picture_id 图片id.
     * @apiSuccess {String} data.picture_list.picture_name 图片名.
     * @apiSuccess {String} data.picture_list.created_at 图片创建时间.
     *
     */
    router.post('/api/user/searchPicture', controller.user.searchPicture);

    /**
     * @api {post} /api/wx/user/getUserStatus 获取当前用户状态
     * @apiName getUserStatus
     * @apiGroup user
     *
     * @apiParam {String} user_id 用户id.
     * 
     * @apiSuccess {Object} data 返回的数据.
     * @apiSuccess {String} data.user_status 用户状态（1：封号，2：禁言，3：正常）.
     *
     */
    router.post('/api/wx/user/getUserStatus', controller.user.getUserStatus);

    /**
     * @api {post} /api/user/wx/userReport 举报用户 - 微信
     * @apiName userReport
     * @apiGroup user
     *
     * @apiParam {String} user_id 举报人id.
     * @apiParam {String} report_user_id 被举报人.
     * @apiParam {String} accusation_type 举报类型（1：用户，2：解忧，3：评论）.
     * @apiParam {String} accusation_reason 举报原因.
     * @apiParam {String} accusation_picture 证图（多张图片用逗号隔开）.
     *
     */
    router.post('/api/user/wx/userReport', controller.user.userReport);

    /**
     * @api {post} /api/user/wx/shieldUser 屏蔽用户 - 微信
     * @apiName shieldUser
     * @apiGroup user
     *
     * @apiParam {String} user_id 用户id.
     * @apiParam {String} target_user_id 目标用户id.
     * @apiParam {String} type 操作类型（1：屏蔽，2：解除屏蔽）.
     *
     */
    router.post('/api/user/wx/shieldUser', controller.user.shieldUser);

    /**
     * @api {post} /api/user/wx/makeFriends 惦记用户 - 微信
     * @apiName makeFriends
     * @apiGroup user
     *
     * @apiParam {String} user_id 用户id.
     * @apiParam {String} target_user_id 目标用户id.
     * @apiParam {String} type 操作类型（1：惦记，2：取消惦记）.
     *
     */
    router.post('/api/user/wx/makeFriends', controller.user.makeFriends);

    /**
     * @api {post} /api/user/wx/checkRelation 判断当前用户与目标用户的关系 - 微信
     * @apiName checkRelation
     * @apiGroup user
     *
     * @apiParam {String} user_id 用户id.
     * @apiParam {String} target_user_id 目标用户id.
     *
     * @apiSuccess {Object} data 关系类型.
     * @apiSuccess {String} data.relation 关系（1：普通，2：惦记）.
     * @apiSuccess {String} data.status 状态（1：普通，2：屏蔽，3：拉黑）.
     * @apiSuccess {String} data.is_be_remember 是否被目标用户惦记（1：是，2：否）.
     * @apiSuccess {String} data.is_be_defriend 是否被目标用户拉黑（1：是，2：否）.
     */
    router.post('/api/user/wx/checkRelation', controller.user.checkRelation);

    /**
     * @api {post} /api/user/wx/getCloundTokenByUserToken 根据用户token获取融云token - 微信
     * @apiName getCloundTokenByUserToken
     * @apiGroup user
     *
     * @apiParam {String} user_token 用户token.
     *
     * @apiSuccess {Object} data 返回数据
     * @apiSuccess {String} data.clound_token 融云token.
     */
    router.post('/api/user/wx/getCloundTokenByUserToken', controller.user.getCloundTokenByUserToken);

    /**
    * @api {post} /api/user/wx/defriend 拉黑用户 - 微信
    * @apiName defriend
    * @apiGroup user
    *
    * @apiParam {String} user_id 用户id.
    * @apiParam {String} target_user_id 目标用户id.
    * @apiParam {String} type 操作类型（1：拉黑，2：取消拉黑）.
    *
    */
    router.post('/api/user/wx/defriend', controller.user.defriend);

    /**
     * @api {post} /api/user/wx/editUser 编辑用户资料 - 微信
     * @apiName editUser
     * @apiGroup user
     *
     * @apiParam {String} user_id 用户id.
     * @apiParam {String} [user_nickname] 用户昵称.
     * @apiParam {String} [user_avatarUrl] 用户头像.
     * @apiParam {String} [user_sex] 性别（1：男，2：女）.
     * @apiParam {String} [user_school_id] 学校id.
     * @apiParam {String} [user_college_id] 学院id.
     * @apiParam {String} [user_signature] 签名.
     * @apiParam {String} [user_sound_url] 录音url.
     * @apiParam {String} [paint_id] 画像id.
     * @apiParam {String} [paint_value_id] 画像值id（多个画像值id用逗号隔开）.
     *
     */
    router.post('/api/user/wx/editUser', controller.user.editUser);

    /**
     * @api {post} /api/user/wx/editEvaluate 编辑评价状态 - 微信
     * @apiName editEvaluate
     * @apiGroup user
     *
     * @apiParam {String} evaluate_id 评价id.
     * @apiParam {String} type 操作类型（1：公开，2：私密）.
     *
     */
    router.post('/api/user/wx/editEvaluate', controller.user.editEvaluate);

    /**
     * @api {post} /api/user/editSoundStatus 编辑录音状态
     * @apiName editSoundStatus
     * @apiGroup user
     *
     * @apiParam {String} user_id 用户id.
     * @apiParam {String} type 操作类型（1：启用，2：屏蔽）.
     *
     */
    router.post('/api/user/editSoundStatus', controller.user.editSoundStatus);

    /**
     * @api {post} /api/user/wx/evaluateUser 评价用户 - 微信
     * @apiName evaluateUser
     * @apiGroup user
     *
     * @apiParam {String} user_id 当前用户id.
     * @apiParam {String} target_user_id 被评价用户id.
     * @apiParam {String} evaluate_content 评价内容.
     *
     */
    router.post('/api/user/wx/evaluateUser', controller.user.evaluateUser);

    /**
     * @api {post} /api/user/wx/searchUserByNameOrKey 根据用户名或关键词查找用户 - 微信
     * @apiName searchUserByNameOrKey
     * @apiGroup user
     *
     * @apiParam {String} page 页码.
     * @apiParam {String} size 一页显示数据量.
     * @apiParam {String} [user_id] 当前用户id.
     * @apiParam {String} [school_id] 学校id.
     * @apiParam {String} [param] 参数值（关键词或名字或签名）.
     * 
     * @apiSuccess {Object[]} data 用户列表.
     * @apiSuccess {String} data.user_id id.
     * @apiSuccess {String} data.user_avatarUrl 头像.
     * @apiSuccess {String} data.user_nickname 昵称.
     * @apiSuccess {String} data.user_sex 性别（1：男，2：女）.
     * @apiSuccess {String} data.user_sound_url 录音url
     * @apiSuccess {String} data.user_sound_status 录音状态（1：待审核，2：正常，3：屏蔽）
     * @apiSuccess {String} data.school_name 学校名.
     * @apiSuccess {String} data.school_badge 校徽.
     * @apiSuccess {String} data.college_name 学院名.
     * @apiSuccess {int} data.age_limit 年限.
     * @apiSuccess {String} data.user_signature 签名.
     * @apiSuccess {String} data.user_praise 点赞数.
     * @apiSuccess {String} data.user_school_year 学年.
     * @apiSuccess {int} data.evaluateCount 评论数.
     * @apiSuccess {String} data.is_praise 是否被当前用户点赞（1：是，2：否）.
     *
     */
    router.post('/api/user/wx/searchUserByNameOrKey', controller.user.searchUserByNameOrKey);

    /**
     * @api {post} /api/user/wx/searchUserByParamAndNum 根据条件和搜索次数查找用户 - 微信
     * @apiName searchUserByParamAndNum
     * @apiGroup user
     *
     * @apiParam {String} page 页码.
     * @apiParam {String} size 一页显示数据量.
     * @apiParam {String} [user_id] 当前用户id.
     * @apiParam {String} [school_id] 学校id.
     * @apiParam {String} param 参数值（关键词或名字或签名）.
     * 
     * @apiSuccess {Object[]} data 用户列表.
     * @apiSuccess {String} data.user_id id.
     * @apiSuccess {String} data.user_avatarUrl 头像.
     * @apiSuccess {String} data.user_nickname 昵称.
     * @apiSuccess {String} data.user_sex 性别（1：男，2：女）.
     * @apiSuccess {String} data.user_sound_url 录音url.
     * @apiSuccess {String} data.user_sound_status 录音状态（1：待审核，2：正常，3：屏蔽）.
     * @apiSuccess {String} data.school_name 学校名.
     * @apiSuccess {String} data.school_badge 校徽.
     * @apiSuccess {String} data.college_name 学院名.
     * @apiSuccess {int} data.age_limit 年限.
     * @apiSuccess {String} data.user_signature 签名.
     * @apiSuccess {String} data.user_praise 点赞数.
     * @apiSuccess {String} data.user_school_year 学年.
     * @apiSuccess {int} data.evaluateCount 评论数.
     * @apiSuccess {String} data.is_praise 是否被当前用户点赞（1：是，2：否）.
     *
     */
    router.post('/api/user/wx/searchUserByParamAndNum', controller.user.searchUserByParamAndNum);

    /**
     * @api {post} /api/user/wx/checkUserBySetting 根据后台设置判断是否可以点开用户查看用户详情 - 微信
     * @apiName checkUserBySetting
     * @apiGroup user
     *
     * @apiParam {String} [user_id] 当前用户id.
     * @apiParam {String} target_user_id 被查看用户id.
     * 
     * @apiSuccess {Object[]} data 用户列表.
     * @apiSuccess {String} data.isCheck 是否可以查看详情（1：是，2：否）.
     *
     */
    router.post('/api/user/wx/checkUserBySetting', controller.user.checkUserBySetting);

    /**
     * @api {post} /api/setting/searchAllSetting 查找系统设置
     * @apiName searchAllSetting
     * @apiGroup setting
     *
     * @apiSuccess {Object[]} data 系统设置列表
     * @apiSuccess {String} data.setting_key 键（userViewTimeOut：用户超时时间，userExcuseTime：
     * 默认禁言时间，commentHints：评论提示，freshUserTime：刷新用户时间，freshUserNum：刷新用户个数，
     * notificationInterval：私信通知间隔，systemInformIcon：系统通知图标，anonymousIcon：匿名头像，
     * homePageImg：首页图片设置，registerProtocol：注册协议）
     * @apiSuccess {String} data.setting_value 键值
     * 
     */
    router.post('/api/setting/searchAllSetting', controller.setting.searchAllSetting);

    /**
     * @api {post} /api/setting/updateSetting 更新系统设置
     * @apiName updateSetting
     * @apiGroup setting
     *
     * @apiParam {Object[]} settingData 更新系统设置列表.
     * @apiParam {String} settingData.setting_key 键.
     * @apiParam {String} settingData.setting_value 值.
     * 
     */
    router.post('/api/setting/updateSetting', controller.setting.updateSetting);

    /**
     * @api {post} /api/paint/searchPaintList 查找画像列表
     * @apiName searchPaintList
     * @apiGroup paint
     *
     * @apiSuccess {Object[]} data 画像列表.
     * @apiSuccess {String} data.paint_id id.
     * @apiSuccess {String} data.paint_title 标题.
     * @apiSuccess {int} data.paint_order 序号.
     * @apiSuccess {String} data.paint_querstion 问题.
     * @apiSuccess {String} data.paint_type 类型（1：选择，2：问答）.
     * @apiSuccess {int} data.paint_selected_count 可选数量.
     * @apiSuccess {String} data.paint_color 颜色.
     * @apiSuccess {String} data.paint_status 状态（1：正常，2：停用）.
     * 
     */
    router.post('/api/paint/searchPaintList', controller.paint.searchPaintList);

    /**
     * @api {post} /api/paint/createPaint 创建画像
     * @apiName createPaint
     * @apiGroup paint
     *
     * @apiParam {String} paint_title 标题.
     * @apiParam {String} paint_question 问题.
     * @apiParam {String} paint_type 类型（1：选择，2：问答）.
     * @apiParam {String} paint_selected_count 可选数量.
     * @apiParam {String} paint_color 颜色.
     * @apiParam {Object[]} [paintValueList] 画像值列表.
     * @apiParam {String} paintValueList.paint_value_title 标题.
     * 
     */
    router.post('/api/paint/createPaint', controller.paint.createPaint);

    /**
     * @api {post} /api/paint/startAndStopPaint 启用、停用画像
     * @apiName startAndStopPaint
     * @apiGroup paint
     *
     * @apiParam {String} paint_id 画像id.
     * @apiParam {int} type 操作类型（1：启用，2：停用）.
     * 
     */
    router.post('/api/paint/startAndStopPaint', controller.paint.startAndStopPaint);

    /**
     * @api {post} /api/paint/removePaint 上移、下移画像
     * @apiName removePaint
     * @apiGroup paint
     *
     * @apiParam {String} paint_id 画像id.
     * @apiParam {int} paint_order 当前画像的序号.
     * @apiParam {int} type 操作类型（1：上移，2：下移）.
     * 
     */
    router.post('/api/paint/removePaint', controller.paint.removePaint);

    /**
     * @api {post} /api/paint/searchPaintById 根据id查找画像
     * @apiName searchPaintById
     * @apiGroup paint
     *
     * @apiParam {String} paint_id 画像id.
     * 
     * @apiSuccess {Object} data 画像.
     * @apiSuccess {String} data.paint_id id.
     * @apiSuccess {String} data.paint_title 标题.
     * @apiSuccess {String} data.paint_querstion 问题.
     * @apiSuccess {String} data.paint_type 类型（1：选择，2：问答）.
     * @apiSuccess {int} data.paint_selected_count 可选数量.
     * @apiSuccess {String} data.paint_color 颜色.
     */
    router.post('/api/paint/searchPaintById', controller.paint.searchPaintById);

    /**
     * @api {post} /api/paint/searchPaintValueById 根据id查找画像值列表
     * @apiName searchPaintValueById
     * @apiGroup paint
     *
     * @apiParam {String} paint_id 画像id.
     * 
     * @apiSuccess {Object[]} data. 画像值列表.
     * @apiSuccess {String} data.paint_value_id 画像值id.
     * @apiSuccess {String} data.paint_id 画像id.
     * @apiSuccess {int} data.paint_value_order 画像值序号.
     * @apiSuccess {String} data.paint_value_title 画像值标题.
     * @apiSuccess {String} dat.paint_value_type 画像值类型（1：系统添加，2：用户添加）.
     */
    router.post('/api/paint/searchPaintValueById', controller.paint.searchPaintValueById);

    /**
     * @api {post} /api/paint/updatePaint 修改画像设置
     * @apiName updatePaint
     * @apiGroup paint
     *
     * @apiParam {String} paint_id 画像id.
     * @apiParam {int} paint_selected_count 可选数.
     * @apiParam {String} paint_title 画像标题.
     * @apiParam {String} paint_question 画像问题.
     * @apiParam {String} paint_type 画像类型.
     * @apiParam {String} paint_color 画像颜色.
     * 
     */
    router.post('/api/paint/updatePaint', controller.paint.updatePaint);

    /**
     * @api {post} /api/paint/createPaintValue 添加画像值
     * @apiName createPaintValue
     * @apiGroup paint
     *
     * @apiParam {String} paint_id 画像id.
     * @apiParam {String} paint_value_title 画像标题.
     * 
     */
    router.post('/api/paint/createPaintValue', controller.paint.createPaintValue);

    /**
     * @api {post} /api/paint/deletePaintValue 删除画像值
     * @apiName deletePaintValue
     * @apiGroup paint
     *
     * @apiParam {String} paint_id 画像id.
     * @apiParam {String} paint_value_id 画像值id.
     * @apiParam {int} paint_value_order 画像值序号.
     * 
     */
    router.post('/api/paint/deletePaintValue', controller.paint.deletePaintValue);

    /**
     * @api {post} /api/paint/removePaintValue 上移、下移画像值
     * @apiName removePaintValue
     * @apiGroup paint
     *
     * @apiParam {String} paint_id 画像id.
     * @apiParam {String} paint_value_id 画像值id.
     * @apiParam {int} paint_value_order 画像值序号.
     * @apiParam {int} type 操作类型（1：上移，2：下移）.
     * 
     */
    router.post('/api/paint/removePaintValue', controller.paint.removePaintValue);

    /**
     * @api {post} /api/paint/wx/searchPaintAndValue 查找画像及画像值-微信
     * @apiName searchPaintAndValue
     * @apiGroup paint
     * 
     * @apiSuccess {Object[]} data 画像列表.
     * @apiSuccess {String} data.paint_id 画像id.
     * @apiSuccess {int} data.paint_order 画像序号.
     * @apiSuccess {String} data.paint_question 画像问题.
     * @apiSuccess {String} data.paint_type 画像类型（1：选择，2：问答）.
     * @apiSuccess {int} data.paint_selected_count 可选数.
     * @apiSuccess {String} data.paint_color 颜色.
     * @apiSuccess {Object[]} data.paint_value 画像值列表.
     * @apiSuccess {String} data.paint_value.paint_value_id 画像值id.
     * @apiSuccess {String} data.paint_value.paint_value_title 画像title.
     * 
     */
    router.post('/api/paint/wx/searchPaintAndValue', controller.paint.searchPaintAndValue);

    /**
     * @api {post} /api/paint/wx/searchPaintValueByUserId 根据用户id查找画像值-微信
     * @apiName searchPaintValueByUserId
     * @apiGroup paint
     * 
     * @apiParam {String} user_id 用户id.
     * 
     * @apiSuccess {Object[]} data 画像列表.
     * @apiSuccess {String} data.paint_id 画像id.
     * @apiSuccess {String} data.paint_type 画像类型（1：选择，2：问答）.
     * @apiSuccess {String} data.paint_value_id 画像值id（多个画像值id用逗号隔开）（类型为选择）.
     * @apiSuccess {String} data.paint_value 画像值（类型为问答）.
     * 
     */
    router.post('/api/paint/wx/searchPaintValueByUserId', controller.paint.searchPaintValueByUserId);

    /**
     * @api {post} /api/paint/wx/updateUserPaintValue 修改用户画像值-微信
     * @apiName updateUserPaintValue
     * @apiGroup paint
     * 
     * @apiParam {String} user_id 用户id.
     * @apiParam {String} paint_id 画像id.
     * @apiParam {String} paint_type 画像类型（1：选择，2：问答）.
     * @apiParam {String} [paint_value] 画像值（1：类型为选择时传画像值id,多个画像值id用逗号隔开,2：类型为问答时传问答内容）.
     *
     */
    router.post('/api/paint/wx/updateUserPaintValue', controller.paint.updateUserPaintValue);

    /**
    * @api {post} /api/advert/searchAdvertList 查询广告列表
    * @apiName searchAdvertList
    * @apiGroup advert
    *
    * @apiParam {String} [status] 状态（1：正常，2：停用）.
    * 
    * @apiSuccess {Object[]} data 广告列表.
    * @apiSuccess {String} [data.activity_title] 活动标题（类型为活动时）.
    * @apiSuccess {String} [data.activity_cover] 活动封面（类型为活动时）.
    * @apiSuccess {String} data.advert_id 广告id.
    * @apiSuccess {int} data.advert_order 广告序号.
    * @apiSuccess {String} data.advert_type 广告类型（1：活动，2：超链接）.
    * @apiSuccess {String} data.advert_partment 广告部门.
    * @apiSuccess {String} dat.advert_status 状态（1：正常，2：停用）.
    * 
    */
    router.post('/api/advert/searchAdvertList', controller.advert.searchAdvertList);

    /**
     * @api {post} /api/advert/wx/searchAdvertList 查询广告列表-微信端
     * @apiName searchAdvertList
     * @apiGroup advert
     *
     * @apiParam {String} [status] 状态（1：正常，2：停用）.
     * 
     * @apiSuccess {Object[]} data 广告列表.
     * @apiSuccess {String} [data.activity_title] 活动标题（类型为活动时）.
     * @apiSuccess {String} [data.activity_cover] 活动封面（类型为活动时）.
     * @apiSuccess {String} data.advert_id 广告id.
     * @apiSuccess {int} data.advert_order 广告序号.
     * @apiSuccess {String} data.advert_type 广告类型（1：活动，2：超链接）.
     * @apiSuccess {String} data.advert_partment 广告部门.
     * @apiSuccess {String} dat.advert_status 状态（1：正常，2：停用）.
     * 
     */
    router.post('/api/advert/wx/searchAdvertList', controller.advert.searchAdvertList);


    /**
     * @api {post} /api/advert/createAdvert 新增广告
     * @apiName createAdvert
     * @apiGroup advert
     *
     * @apiParam {String} advert_type 类型（1：活动，2：超链接）.
     * @apiParam {String} advert_partment 内容（1：类型为活动时发活动id,2：类型为超链接时发超链接url）.
     * @apiParam {String} [advert_picture] 图片url（1：类型为活动时不传（默认为活动封面）,2：类型为超链接时发图片url）.
     * 
     */
    router.post('/api/advert/createAdvert', controller.advert.createAdvert);

    /**
     * @api {post} /api/advert/updateAdvert 修改广告
     * @apiName updateAdvert
     * @apiGroup advert
     *
     * @apiParam {String} advert_id id.
     * @apiParam {String} [advert_type] 类型（1：活动，2：超链接）.
     * @apiParam {String} [advert_partment] 内容.
     * @apiParam {String} [advert_picture] 图片url.
     * 
     */
    router.post('/api/advert/updateAdvert', controller.advert.updateAdvert);

    /**
     * @api {post} /api/advert/startAndStopAdert 启用、停用广告
     * @apiName startAndStopAdert
     * @apiGroup advert
     *
     * @apiParam {String} advert_id id.
     * @apiParam {String} type 操作类型（1：启用，2：停用）.
     * 
     */
    router.post('/api/advert/startAndStopAdert', controller.advert.startAndStopAdert);

    /**
     * @api {post} /api/advert/removeAdvert 上移、下移广告
     * @apiName removeAdvert
     * @apiGroup advert
     *
     * @apiParam {String} advert_id id.
     * @apiParam {int} advert_order 当前广告序号.
     * @apiParam {String} type 操作类型（1：上移，2：下移）.
     * 
     */
    router.post('/api/advert/removeAdvert', controller.advert.removeAdvert);

    /**
     * @api {post} /api/school/searchSchoolList 查询学校列表
     * @apiName searchSchoolList
     * @apiGroup school
     *
     * @apiSuccess {Object[]} data 学校列表.
     * @apiSuccess {String} data.school_id 学校id.
     * @apiSuccess {String} data.school_name 学校名.
     * @apiSuccess {String} data.school_badge 校徽.
     * @apiSuccess {String} dat.advert_status 状态（1：正常，2：停用）.
     * 
     */
    router.post('/api/school/searchSchoolList', controller.school.searchSchoolList);

    /**
     * @api {post} /api/school/createSchool 创建学校
     * @apiName createSchool
     * @apiGroup school
     *
     * @apiParam {String} school_name 学校名.
     * @apiParam {String} school_badge 校徽.
     * @apiParam {Object[]} [college] 学院对象数组.
     * @apiParam {String} college.college_name 学院名.
     * @apiParam {int} college.age_limit 年限.
     * 
     */
    router.post('/api/school/createSchool', controller.school.createSchool);

    /**
     * @api {post} /api/school/startAndStopSchool 启用、停用学校
     * @apiName startAndStopSchool
     * @apiGroup school
     *
     * @apiParam {String} school_id 学校id.
     * @apiParam {String} type 操作类型（1：启用，2：停用）.
     * 
     */
    router.post('/api/school/startAndStopSchool', controller.school.startAndStopSchool);

    /**
     * @api {post} /api/school/searchSchoolById 根据id查找学校
     * @apiName searchSchoolById
     * @apiGroup school
     *
     * @apiParam {String} school_id 学校id.
     * 
     */
    router.post('/api/school/searchSchoolById', controller.school.searchSchoolById);

    /**
     * @api {post} /api/school/updateSchool 保存修改
     * @apiName updateSchool
     * @apiGroup school
     *
     * @apiParam {String} school_id 学校id.
     * @apiParam {String} school_name 学校名.
     * @apiParam {String} school_badge 校徽.
     * 
     */
    router.post('/api/school/updateSchool', controller.school.updateSchool);

    /**
     * @api {post} /api/school/createCollege 添加学院
     * @apiName createCollege
     * @apiGroup school
     *
     * @apiParam {String} school_id 学校id.
     * @apiParam {String} college_name 学院名称.
     * @apiParam {int} age_limit 年限.
     * 
     */
    router.post('/api/school/createCollege', controller.school.createCollege);

    /**
     * @api {post} /api/school/startAndStopCollege 启用、停用学院
     * @apiName startAndStopCollege
     * @apiGroup school
     *
     * @apiParam {String} college_id 学院id.
     * @apiParam {String} type 操作类型（1：启用，2：停用）.
     * 
     */
    router.post('/api/school/startAndStopCollege', controller.school.startAndStopCollege);

    /**
     * @api {post} /api/school/updateCollege 修改学院
     * @apiName updateCollege
     * @apiGroup school
     *
     * @apiParam {String} college_id 学院id.
     * @apiParam {String} college_name 学院名.
     * @apiParam {int} age_limit 年限.
     * 
     */
    router.post('/api/school/updateCollege', controller.school.updateCollege);

    /**
     * @api {post} /api/school/searchCollegeBySchoolId 根据学校id获取学院列表
     * @apiName searchCollegeBySchoolId
     * @apiGroup school
     *
     * @apiParam {String} school_id 学校id.
     *
     * @apiSuccess {Object[]} data 话题列表.
     * @apiSuccess {String} data.college_id 学院id.
     * @apiSuccess {String} data.college_name 学院名.
     * @apiSuccess {int} data.age_limit 年限.
     * 
     */
    router.post('/api/school/searchCollegeBySchoolId', controller.school.searchCollegeBySchoolId);

    /**
     * @api {post} /api/school/searchCollegeByName 根据学院名查找学院
     * @apiName searchCollegeByName
     * @apiGroup school
     *
     * @apiParam {String} school_id 学校id.
     * @apiParam {String} college_name 学院名.
     * 
     * @apiSuccess {Object[]} data 话题列表.
     * @apiSuccess {String} data.college_id 学院id.
     * @apiSuccess {String} data.college_name 学院名.
     * @apiSuccess {int} data.age_limit 年限.
     * 
     */
    router.post('/api/school/searchCollegeByName', controller.school.searchCollegeByName);

    /**
     * @api {post} /api/topic/searchTopicList 查询话题列表
     * @apiName searchTopicList
     * @apiGroup topic
     * 
     * @apiSuccess {Object[]} data 话题列表.
     * @apiSuccess {String} data.topic_id 话题id.
     * @apiSuccess {String} data.topic_title 标题.
     * @apiSuccess {String} data.topic_picture 背景图.
     * @apiSuccess {String} dat.topic_status 状态（1：正常，2：停用）.
     */
    router.post('/api/topic/searchTopicList', controller.topic.searchTopicList);

    /**
     * @api {post} /api/topic/createTopic 新增话题
     * @apiName createTopic
     * @apiGroup topic
     *
     * @apiParam {String} topic_title 标题.
     * @apiParam {String} topic_picture 背景图.
     * 
     */
    router.post('/api/topic/createTopic', controller.topic.createTopic);

    /**
     * @api {post} /api/topic/updateTopic 修改话题
     * @apiName updateTopic
     * @apiGroup topic
     *
     * @apiParam {String} topic_id id.
     * @apiParam {String} topic_title 标题.
     * @apiParam {String} topic_picture 背景图.
     * 
     */
    router.post('/api/topic/updateTopic', controller.topic.updateTopic);

    /**
     * @api {post} /api/topic/startAndStopTopic 启用、停用话题
     * @apiName startAndStopTopic
     * @apiGroup topic
     *
     * @apiParam {String} topic_id id.
     * @apiParam {String} type 操作类型（1：启用，2：停用）
     * 
     */
    router.post('/api/topic/startAndStopTopic', controller.topic.startAndStopTopic);

    /**
     * @api {post} /api/activity/searchActivityList 根据条件查找活动列表
     * @apiName searchActivityList
     * @apiGroup activity
     *
     * @apiParam {String} page 页码.
     * @apiParam {String} size 每页显示大小.
     * @apiParam {String} [activity_title] 标题.
     * @apiParam {String} [activity_nature] 性质（1：校内，2：校外）.
     * @apiParam {String} [activity_sponsors_phone] 发起人联系方式.
     * @apiParam {String} [activity_type] 类型（1：官方活动，2：用户活动）.
     * @apiParam {String} [activity_status] 状态（1：正常，2：停用，3：已结束）.
     * @apiParam {String} [activity_auditing_status] 审核状态（1：待审核，2：通过，3：不通过）.
     *
     * @apiSuccess {Object} data 返回的数据
     * @apiSuccess {int} data.count 数据总数
     * @apiSuccess {Object[]} activityList 活动列表
     * @apiSuccess {String} activityList.activity_id id
     * @apiSuccess {String} activityList.activity_title 标题
     * @apiSuccess {String} activityList.user_id 发起人id
     * @apiSuccess {String} activityList.activity_sponsors 发起人
     * @apiSuccess {String} activityList.activity_sponsors_phone 发起人联系方式
     * @apiSuccess {String} activityList.activity_nature 性质（1：校内，2：校外）
     * @apiSuccess {String} activityList.activity_type 类型（1：官方活动，2：用户活动）
     * @apiSuccess {String} activityList.activity_start_time 开始时间
     * @apiSuccess {String} activityList.activity_place 活动地点
     * @apiSuccess {String} activityList.activity_detail 活动介绍
     * @apiSuccess {String} activityList.activity_detail_picture 介绍图片（多张图片用逗号隔开）
     * @apiSuccess {String} activityList.activity_suto 素拓分
     * @apiSuccess {String} activityList.activity_cover 封面
     * @apiSuccess {int} activityList.activity_people 参与人数
     * @apiSuccess {String} activityList.activity_status 状态（1：正常，2：暂停，3：已结束）
     * @apiSuccess {String} activityList.activity_auditing_status 审核状态（1：待审核，2：通过，3：不通过）
     *
     */
    router.post('/api/activity/searchActivityList', controller.activity.searchActivityList);

    /**
     * @api {post} /api/wx/activity/searchWxActivityList 根据条件搜索活动列表-微信
     * @apiName searchWxActivityList
     * @apiGroup activity
     *
     * @apiParam {String} page 页码.
     * @apiParam {String} size 每页显示大小.
     * @apiParam {String} [user_id] 用户id.
     * @apiParam {String} [school_id] 学校id.
     * @apiParam {String} activity_nature 性质（1：校内，2：校外）.
     * @apiParam {String} [parameter] 搜索条件.
     *
     * @apiSuccess {Object} data 返回的数据
     * @apiSuccess {int} data.count 数据总数
     * @apiSuccess {Object[]} activityList 活动列表
     * @apiSuccess {String} activityList.activity_id id
     * @apiSuccess {String} activityList.activity_title 标题
     * @apiSuccess {String} activityList.user_id 发起人id
     * @apiSuccess {String} activityList.activity_sponsors 发起人
     * @apiSuccess {String} activityList.activity_sponsors_phone 发起人联系方式
     * @apiSuccess {String} activityList.activity_nature 性质（1：校内，2：校外）
     * @apiSuccess {String} activityList.activity_type 类型（1：官方活动，2：用户活动）
     * @apiSuccess {String} activityList.activity_start_time 开始时间
     * @apiSuccess {String} activityList.activity_place 活动地点
     * @apiSuccess {String} activityList.activity_detail 活动介绍
     * @apiSuccess {String} activityList.activity_detail_picture 介绍图片（多张图片用逗号隔开）
     * @apiSuccess {String} activityList.activity_suto 素拓分
     * @apiSuccess {String} activityList.activity_cover 封面
     * @apiSuccess {int} activityList.activity_people 参与人数
     * @apiSuccess {String} activityList.is_enroll 是否参与（0：否，1：已参与，2：被拒绝，3：已取消）
     * @apiSuccess {String} activityList.activity_status 状态（1：正常，2：暂停，3：已结束）
     *
     */
    router.post('/api/wx/activity/searchWxActivityList', controller.activity.searchWxActivityList);

    /**
     * @api {post} /api/activity/searchActivityById 根据id查找活动详情
     * @apiName searchActivityById
     * @apiGroup activity
     *
     * @apiParam {String} activity_id id.
     *
     * @apiSuccess {Object} data 返回的数据
     * @apiSuccess {String} data.activity_id id
     * @apiSuccess {String} data.activity_title 标题
     * @apiSuccess {String} data.user_id 发起人id
     * @apiSuccess {String} data.activity_sponsors 发起人
     * @apiSuccess {String} data.activity_sponsors_phone 发起人联系方式
     * @apiSuccess {String} data.activity_nature 性质（1：校内，2：校外）
     * @apiSuccess {String} data.activity_type 类型（1：官方活动，2：用户活动）
     * @apiSuccess {String} data.activity_start_time 开始时间
     * @apiSuccess {String} data.activity_end_time 结束时间
     * @apiSuccess {String} data.activity_detail 活动介绍
     * @apiSuccess {String} data.activity_detail_picture 介绍图片（多张图片用逗号隔开）
     * @apiSuccess {String} data.activity_place 活动地点
     * @apiSuccess {String} data.activity_suto 素拓分
     * @apiSuccess {String} data.activity_cover 活动封面
     * @apiSuccess {String} data.activity_status 状态（1：正常，2：暂停，3：已结束）
     * @apiSuccess {String} data.activity_auditing_status 审核状态（1：待审核，2：通过，3：不通过）
     * @apiSuccess {String} activityList.is_enroll 是否参与（0：否，1：已参与，2：被拒绝，3：已取消）
     * @apiSuccess {String} activityList.is_self 该活动是否是当前用户创建（1：是，2：否）
     * @apiSuccess {int} data.activity_people 参与人数
     * @apiSuccess {Object[]} data.userList 参与用户列表
     * @apiSuccess {String} data.userList.activity_enroll_id 活动参与表id
     * @apiSuccess {String} data.userList.phone 活动报名手机号
     * @apiSuccess {String} data.userList.weChat_account 活动报名微信号
     * @apiSuccess {String} data.userList.user_id 参与活动用户id
     * @apiSuccess {String} data.userList.user_sex 性别
     * @apiSuccess {String} data.userList.user_sound_url 录音url
     * @apiSuccess {String} data.userList.user_sound_status 录音状态（1：待审核，2：正常，3：屏蔽）
     * @apiSuccess {String} data.userList.user_phone 手机号
     * @apiSuccess {String} data.userList.school_name 学校名
     * @apiSuccess {String} data.userList.school_badge 校徽
     * @apiSuccess {String} data.userList.college_name 学院名
     * @apiSuccess {String} data.userList.user_signature 签名
     * @apiSuccess {Object} data.creater 创建人信息
     * @apiSuccess {String} data.creater.user_id 创建人id
     * @apiSuccess {String} data.creater.user_nickname 创建人昵称
     * @apiSuccess {String} data.creater.user_avatarUrl 头像
     * @apiSuccess {String} data.creater.user_sex 性别
     * @apiSuccess {String} data.creater.user_sound_url 录音url
     * @apiSuccess {String} data.creater.user_sound_status 录音状态（1：待审核，2：正常，3：屏蔽）
     * @apiSuccess {String} data.creater.user_phone 手机号
     * @apiSuccess {String} data.creater.school_name 学校名
     * @apiSuccess {String} data.creater.school_badge 校徽
     * @apiSuccess {String} data.creater.college_name 学院名
     * @apiSuccess {String} data.creater.user_signature 签名
     *
     */
    router.post('/api/activity/searchActivityById', controller.activity.searchActivityById);

    /**
     * @api {post} /api/activity/startAndStopActivity 启动、暂停活动
     * @apiName startAndStopActivity
     * @apiGroup activity
     *
     * @apiParam {String} activity_id id.
     * @apiParam {String} type 操作类型（1：启动，2：暂停）.
     *
     */
    router.post('/api/activity/startAndStopActivity', controller.activity.startAndStopActivity);

    /**
     * @api {post} /api/activity/wx/startAndStopWxActivity 启动、暂停活动-微信
     * @apiName startAndStopWxActivity
     * @apiGroup activity
     *
     * @apiParam {String} activity_id 活动id.
     * @apiParam {String} user_id 用户id.
     * @apiParam {String} type 操作类型（1：启动，2：暂停）.
     *
     */
    router.post('/api/activity/wx/startAndStopWxActivity', controller.activity.startAndStopWxActivity);

    /**
     * @api {post} /api/wx/activity/endingActivity 结束活动-微信
     * @apiName endingActivity
     * @apiGroup activity
     *
     * @apiParam {String} activity_id 活动id.
     * @apiParam {String} user_id 用户id.
     *
     */
    router.post('/api/wx/activity/endingActivity', controller.activity.endingActivity);

    /**
     * @api {post} /api/activity/endingAdminActivity 结束活动-后台
     * @apiName endingAdminActivity
     * @apiGroup activity
     *
     * @apiParam {String} activity_id 活动id.
     *
     */
    router.post('/api/activity/endingAdminActivity', controller.activity.endingAdminActivity);

    /**
     * @api {post} /api/activity/createActivity 创建活动（后台：activity_type为1，微信端：activity_type为2）
     * @apiName createActivity
     * @apiGroup activity
     *
     * @apiParam {String} activity_title 标题.
     * @apiParam {String} activity_nature 性质（1：校内，2：校外）.
     * @apiParam {String} activity_type 类型（1：官方活动，2：用户活动）.
     * @apiParam {String} user_id 用户id
     * @apiParam {String} activity_sponsors 发起人.
     * @apiParam {String} activity_sponsors_phone 发起人联系方式.
     * @apiParam {String} [activity_code] 验证码.
     * @apiParam {String} [activity_school_id] 学校id.
     * @apiParam {String} [activity_college_id] 学院id.
     * @apiParam {String} activity_start_time 开始时间.
     * @apiParam {String} activity_end_time 结束时间.
     * @apiParam {String} activity_place 活动地点.
     * @apiParam {String} activity_suto 素拓分.
     * @apiParam {String} activity_detail 活动介绍.
     * @apiParam {String} [activity_detail_picture] 介绍图片（多张图片用逗号隔开）.
     * @apiParam {String} activity_cover 活动封面.
     *
     */
    router.post('/api/activity/createActivity', controller.activity.createActivity);

    /**
     * @api {post} /api/activity/createWxActivity 创建活动-微信（后台：activity_type为1，微信端：activity_type为2）
     * @apiName createWxActivity
     * @apiGroup activity
     *
     * @apiParam {String} activity_title 标题.
     * @apiParam {String} activity_nature 性质（1：校内，2：校外）.
     * @apiParam {String} activity_type 类型（1：官方活动，2：用户活动）.
     * @apiParam {String} user_id 用户id
     * @apiParam {String} activity_sponsors 发起人.
     * @apiParam {String} activity_sponsors_phone 发起人联系方式.
     * @apiParam {String} [activity_code] 验证码.
     * @apiParam {String} [activity_school_id] 学校id.
     * @apiParam {String} [activity_college_id] 学院id.
     * @apiParam {String} activity_start_time 开始时间.
     * @apiParam {String} activity_end_time 结束时间.
     * @apiParam {String} activity_place 活动地点.
     * @apiParam {String} activity_suto 素拓分.
     * @apiParam {String} activity_detail 活动介绍.
     * @apiParam {String} [activity_detail_picture] 介绍图片（多张图片用逗号隔开）.
     * @apiParam {String} activity_cover 活动封面.
     *
     */
    router.post('/api/activity/createWxActivity', controller.activity.createWxActivity);

    /**
     * @api {post} /api/activity/searchSchoolByName 根据学校名模糊查询学校
     * @apiName searchSchoolByName
     * @apiGroup activity
     *
     * @apiParam {String} school_name 学校名.
     *
     */
    router.post('/api/activity/searchSchoolByName', controller.activity.searchSchoolByName);

    /**
     * @api {post} /api/wx/activity/activitySignIn 活动报名 - 微信
     * @apiName activitySignIn
     * @apiGroup activity
     *
     * @apiParam {String} activity_id 活动id.
     * @apiParam {String} user_id 报名用户id.
     * @apiParam {String} [phone] 手机号.
     * @apiParam {String} [code] 验证码.
     * @apiParam {String} [weChat_account] 微信号.
     * @apiParam {String} type 操作类型（1：报名，2：取消）.
     *
     */
    router.post('/api/wx/activity/activitySignIn', controller.activity.activitySignIn);

    /**
     * @api {post} /api/wx/activity/getCloundToken 获取融云token - 微信
     * @apiName getCloundToken
     * @apiGroup user
     *
     * @apiParam {String} user_id 用户id.
     * @apiParam {String} user_nickname 用户昵称.
     * @apiParam {String} url 图片名.
     *
     */
    router.post('/api/wx/activity/getCloundToken', controller.user.getCloundToken);

    /**
     * @api {post} /api/wx/activity/activityReject 谢绝参加 - 微信
     * @apiName activityReject
     * @apiGroup activity
     *
     * @apiParam {String} activity_enroll_id 活动参与表id.
     *
     */
    router.post('/api/wx/activity/activityReject', controller.activity.activityReject);

    /**
     * @api {post} /api/wx/activity/searchActivityListById 根据用户id查找用户创建的活动以及参与的活动列表 - 微信
     * @apiName searchActivityListById
     * @apiGroup activity
     *
     * @apiParam {String} user_id 用户id.
     * 
     * @apiSuccess {Object} data 返回的数据
     * @apiSuccess {String} data.activity_id id
     * @apiSuccess {String} data.activity_title 标题
     * @apiSuccess {String} data.activity_start_time 开始时间
     * @apiSuccess {String} data.activity_end_time 结束时间
     * @apiSuccess {String} data.activity_place 地点
     * @apiSuccess {String} data.activity_suto 素拓分
     * @apiSuccess {String} data.activity_detail 活动介绍
     * @apiSuccess {String} data.activity_detail_picture 介绍图片（多张图片用逗号隔开）
     * @apiSuccess {String} data.activity_cover 活动封面
     * @apiSuccess {String} data.activity_status 状态（1：正常，2：暂停，3：已结束）
     * @apiSuccess {String} data.activity_auditing_status 审核状态（1：待审核，2：通过，3：不通过）
     * @apiSuccess {String} data.school_name 学校名
     * @apiSuccess {String} data.college_name 学院名
     * @apiSuccess {String} data.is_self 标识是否是自己创建的活动（1：是，2：否）
     *
     */
    router.post('/api/wx/activity/searchActivityListById', controller.activity.searchActivityListById);

    /**
     * @api {post} /api/wx/activity/searchReactActivityNum 查找新活动数 - 微信
     * @apiName searchReactActivityNum
     * @apiGroup activity
     *
     * @apiParam {String} user_id 用户id.
     * @apiParam {String} school_id 学校id.
     * 
     * @apiSuccess {Object} data 返回的数据
     * @apiSuccess {int} data.react_activity_num 新活动数
     *
     */
    router.post('/api/wx/activity/searchReactActivityNum', controller.activity.searchReactActivityNum);

    /**
     * @api {post} /api/wx/activity/clearReactActivityNum 清除新活动数 - 微信
     * @apiName clearReactActivityNum
     * @apiGroup activity
     *
     * @apiParam {String} user_id 用户id.
     * @apiParam {String} school_id 学校id.
     *
     */
    router.post('/api/wx/activity/clearReactActivityNum', controller.activity.clearReactActivityNum);

    /**
     * @api {post} /api/activity/auditActivity 审核活动
     * @apiName auditActivity
     * @apiGroup activity
     *
     * @apiParam {String} activity_id 活动d.
     * @apiParam {String} type 操作类型（1：通过，2：不通过）.
     *
     */
    router.post('/api/activity/auditActivity', controller.activity.auditActivity);

    /**
     * @api {post} /api/feedback/searchFeedbackList 根据条件查找反馈列表
     * @apiName searchFeedbackList
     * @apiGroup feedback
     *
     * @apiParam {int} page 页码.
     * @apiParam {int} size 每页显示大小.
     * @apiParam {String} [feedback_title] 标题.
     * @apiParam {String} [feedback_time_start] 开始时间.
     * @apiParam {String} [feedback_time_end] 结束时间.
     *
     * @apiSuccess {Object} data 返回的数据
     * @apiSuccess {int} data.count 数据总数
     * @apiSuccess {Object[]} feedbackList 反馈列表
     * @apiSuccess {String} feedbackList.feedback_id id
     * @apiSuccess {String} feedbackList.feedback_title 标题
     * @apiSuccess {String} feedbackList.feedback_content 内容
     * @apiSuccess {String} feedbackList.feedback_phone 联系方式
     * @apiSuccess {String} feedbackList.feedback_picture 图片
     * @apiSuccess {String} feedbackList.feedback_time 发送时间
     *
     */
    router.post('/api/feedback/searchFeedbackList', controller.feedback.searchFeedbackList);

    /**
     * @api {post} /api/wx/feedback/createFeedback 新增问题反馈 - 微信
     * @apiName createFeedback
     * @apiGroup feedback
     *
     * @apiParam {String} feedback_title 标题.
     * @apiParam {String} feedback_content 内容.
     * @apiParam {String} [feedback_picture] 图片（多张图片用逗号隔开）.
     * @apiParam {String} feedback_phone 手机号.
     *
     */
    router.post('/api/wx/feedback/createFeedback', controller.feedback.createFeedback);

    /**
     * @api {post} /api/auditing/searchUserList 获取用户列表
     * @apiName searchUserList
     * @apiGroup auditing
     *
     * @apiParam {int} page 页码.
     * @apiParam {int} size 每页显示大小.
     * @apiParam {String} [user_phone] 手机号码.
     * @apiParam {String} [user_sex] 性别（1：男，2：女）.
     * @apiParam {String} [user_school] 学校.
     *
     * @apiSuccess {Object} data 返回的数据
     * @apiSuccess {int} data.count 数据总数
     * @apiSuccess {Object[]} userList 用户列表
     * @apiSuccess {String} userList.user_id 用户id
     * @apiSuccess {String} userList.user_nickname 昵称
     * @apiSuccess {String} userList.user_phone 手机号码
     * @apiSuccess {String} userList.user_sex 性别（1：男，2：女）
     * @apiSuccess {String} userList.user_school 学校
     * @apiSuccess {String} userList.user_college 学院
     * @apiSuccess {String} userList.user_student_id 学号
     * @apiSuccess {String} userList.user_school_Card 校卡
     * @apiSuccess {int} userList.user_auditing_status 审核状态（1：待审核，2：已通过，3：已禁止）
     *
     */
    router.post('/api/auditing/searchUserList', controller.auditing.searchUserList);

    /**
     * @api {post} /api/auditing/auditingUser 审核用户（通过、禁止）
     * @apiName auditingUser
     * @apiGroup auditing
     *
     * @apiParam {String} user_id 用户id.
     * @apiParam {String} type 操作类型（1：通过，2：禁止）.
     * @apiParam {String} [msg] 原因（禁止用户时填写的禁止原因）.
     *
     */
    router.post('/api/auditing/auditingUser', controller.auditing.auditingUser);

    /**
     * @api {post} /api/assuageGrief/searchAssuageGriefList 查询解忧列表
     * @apiName searchAssuageGriefList
     * @apiGroup assuageGrief
     *
     * @apiParam {int} page 页码.
     * @apiParam {int} size 每页显示大小.
     * @apiParam {String} [assuage_grief_time] 时间.
     * @apiParam {String} [assuage_grief_content] 解忧.
     * @apiParam {String} [topic_id] 话题id.
     *
     * @apiSuccess {Object} data 返回的数据
     * @apiSuccess {int} data.count 数据总数
     * @apiSuccess {Object[]} assuageGriefList 用户列表
     * @apiSuccess {String} assuageGriefList.assuage_grief_id 解忧id
     * @apiSuccess {String} assuageGriefList.user_id 用户id
     * @apiSuccess {String} assuageGriefList.user_nickname 用户昵称
     * @apiSuccess {String} assuageGriefList.assuage_grief_content 解忧
     * @apiSuccess {String} assuageGriefList.assuage_grief_time 发布时间
     * @apiSuccess {int} assuageGriefList.assuage_grief_status 状态（1：正常，2：屏蔽）
     *
     */
    router.post('/api/assuageGrief/searchAssuageGriefList', controller.assuageGrief.searchAssuageGriefList);

    /**
     * @api {post} /api/assuageGrief/wx/searchAssuageGriefAll 微信端查询全部解忧 - 微信
     * @apiName searchAssuageGriefAll
     * @apiGroup assuageGrief
     *
     * @apiParam {int} page 页码.
     * @apiParam {int} size 每页显示大小.
     * @apiParam {String} user_id 当前用户id.
     * @apiParam {String} school_id 学校id.
     * @apiParam {String} [assuage_grief_content] 解忧.
     * @apiParam {String} [topic_id] 话题id.
     *
     * @apiSuccess {Object} data 返回的数据
     * @apiSuccess {int} data.count 数据总数
     * @apiSuccess {Object[]} assuageGriefList 用户列表
     * @apiSuccess {String} assuageGriefList.assuage_grief_id 解忧id
     * @apiSuccess {String} assuageGriefList.user_id 用户id
     * @apiSuccess {String} assuageGriefList.user_avatarUrl 用户头像
     * @apiSuccess {String} assuageGriefList.user_nickname 用户昵称
     * @apiSuccess {String} assuageGriefList.user_sex 用户性别
     * @apiSuccess {String} assuageGriefList.user_sound_url 录音url
     * @apiSuccess {String} assuageGriefList.user_sound_status 录音状态（1：待审核，2：正常，3：屏蔽）
     * @apiSuccess {String} assuageGriefList.school_name 学校
     * @apiSuccess {String} assuageGriefList.school_badge 校徽
     * @apiSuccess {String} assuageGriefList.college_name 学院
     * @apiSuccess {int} assuageGriefList.age_limit 年限
     * @apiSuccess {String} assuageGriefList.assuage_grief_content 解忧
     * @apiSuccess {String} assuageGriefList.assuage_grief_picture 解忧图片
     * @apiSuccess {String} assuageGriefList.assuage_grief_anonymous 是否匿名（1：是，2：否）
     * @apiSuccess {int} assuageGriefList.assuage_grief_praise 点赞数
     * @apiSuccess {int} assuageGriefList.assuage_grief_comment 评论数
     * @apiSuccess {String} assuageGriefList.assuage_grief_time 发布时间
     * @apiSuccess {String} assuageGriefList.is_praise 标识是否被当前用户点赞（1：是，2：否）
     * @apiSuccess {String} assuageGriefList.is_collection 标识是否被当前用户收藏（1：是，2：否）
     *
     */
    router.post('/api/assuageGrief/wx/searchAssuageGriefAll', controller.assuageGrief.searchAssuageGriefAll);

    /**
     * @api {post} /api/assuageGrief/wx/searchFriendsAssuageGrief 微信端查询互相关注的朋友的解忧 - 微信
     * @apiName searchFriendsAssuageGrief
     * @apiGroup assuageGrief
     *
     * @apiParam {int} page 页码.
     * @apiParam {int} size 每页显示大小.
     * @apiParam {String} user_id 当前用户id.
     * @apiParam {String} [assuage_grief_content] 解忧.
     * @apiParam {String} [topic_id] 话题id.
     *
     * @apiSuccess {Object} data 返回的数据
     * @apiSuccess {int} data.count 数据总数
     * @apiSuccess {Object[]} assuageGriefList 用户列表
     * @apiSuccess {String} assuageGriefList.assuage_grief_id 解忧id
     * @apiSuccess {String} assuageGriefList.user_id 用户id
     * @apiSuccess {String} assuageGriefList.user_avatarUrl 用户头像
     * @apiSuccess {String} assuageGriefList.user_nickname 用户昵称
     * @apiSuccess {String} assuageGriefList.user_sex 用户性别
     * @apiSuccess {String} assuageGriefList.user_sound_url 录音url
     * @apiSuccess {String} assuageGriefList.user_sound_status 录音状态（1：待审核，2：正常，3：屏蔽）
     * @apiSuccess {String} assuageGriefList.school_name 学校
     * @apiSuccess {String} assuageGriefList.school_badge 校徽
     * @apiSuccess {String} assuageGriefList.college_name 学院
     * @apiSuccess {int} assuageGriefList.age_limit 年限
     * @apiSuccess {String} assuageGriefList.assuage_grief_content 解忧
     * @apiSuccess {String} assuageGriefList.assuage_grief_picture 解忧图片
     * @apiSuccess {String} assuageGriefList.assuage_grief_anonymous 是否匿名（1：是，2：否）
     * @apiSuccess {int} assuageGriefList.assuage_grief_praise 点赞数
     * @apiSuccess {int} assuageGriefList.assuage_grief_comment 评论数
     * @apiSuccess {String} assuageGriefList.assuage_grief_time 发布时间
     * @apiSuccess {String} assuageGriefList.is_praise 标识是否被当前用户点赞（1：是，2：否）
     * @apiSuccess {String} assuageGriefList.is_collection 标识是否被当前用户收藏（1：是，2：否）
     *
     */
    router.post('/api/assuageGrief/wx/searchFriendsAssuageGrief', controller.assuageGrief.searchFriendsAssuageGrief);

    /**
     * @api {post} /api/assuageGrief/wx/searchMyAssuageGrief 查找我的解忧 - 微信
     * @apiName searchMyAssuageGrief
     * @apiGroup assuageGrief
     *
     * @apiParam {int} page 页码.
     * @apiParam {int} size 每页显示大小.
     * @apiParam {String} user_id 当前用户id.
     *
     * @apiSuccess {Object} data 返回的数据
     * @apiSuccess {int} data.count 数据总数
     * @apiSuccess {Object[]} assuageGriefList 用户列表
     * @apiSuccess {String} assuageGriefList.assuage_grief_id 解忧id
     * @apiSuccess {String} assuageGriefList.user_id 用户id
     * @apiSuccess {String} assuageGriefList.user_avatarUrl 用户头像
     * @apiSuccess {String} assuageGriefList.user_nickname 用户昵称
     * @apiSuccess {String} assuageGriefList.user_sex 用户性别
     * @apiSuccess {String} assuageGriefList.user_sound_url 录音url
     * @apiSuccess {String} assuageGriefList.user_sound_status 录音状态（1：待审核，2：正常，3：屏蔽）
     * @apiSuccess {String} assuageGriefList.school_name 学校
     * @apiSuccess {String} assuageGriefList.school_badge 校徽
     * @apiSuccess {String} assuageGriefList.college_name 学院
     * @apiSuccess {String} assuageGriefList.assuage_grief_content 解忧
     * @apiSuccess {String} assuageGriefList.assuage_grief_picture 解忧图片
     * @apiSuccess {String} assuageGriefList.assuage_grief_anonymous 是否匿名（1：是，2：否）
     * @apiSuccess {int} assuageGriefList.assuage_grief_praise 点赞数
     * @apiSuccess {int} assuageGriefList.assuage_grief_comment 评论数
     * @apiSuccess {String} assuageGriefList.assuage_grief_time 发布时间
     * @apiSuccess {String} assuageGriefList.is_praise 标识是否被当前用户点赞（1：是，2：否）
     * @apiSuccess {String} assuageGriefList.is_collection 标识是否被当前用户收藏（1：是，2：否）
     *
     */
    router.post('/api/assuageGrief/wx/searchMyAssuageGrief', controller.assuageGrief.searchMyAssuageGrief);

    /**
     * @api {post} /api/assuageGrief/wx/searchAssuageGriefListById 根据用户id查询解忧列表 - 微信
     * @apiName searchAssuageGriefListById
     * @apiGroup assuageGrief
     *
     * @apiParam {int} page 页码.
     * @apiParam {int} size 每页显示大小.
     * @apiParam {String} target_user_id 目标用户id.
     *
     * @apiSuccess {Object} data 返回的数据
     * @apiSuccess {int} data.count 数据总数
     * @apiSuccess {Object[]} assuageGriefList 用户列表
     * @apiSuccess {String} assuageGriefList.assuage_grief_id 解忧id
     * @apiSuccess {String} assuageGriefList.user_id 用户id
     * @apiSuccess {String} assuageGriefList.user_avatarUrl 用户头像
     * @apiSuccess {String} assuageGriefList.user_nickname 用户昵称
     * @apiSuccess {String} assuageGriefList.user_sex 用户性别
     * @apiSuccess {String} assuageGriefList.user_sound_url 录音url
     * @apiSuccess {String} assuageGriefList.user_sound_status 录音状态（1：待审核，2：正常，3：屏蔽）
     * @apiSuccess {String} assuageGriefList.school_name 学校
     * @apiSuccess {String} assuageGriefList.school_badge 校徽
     * @apiSuccess {String} assuageGriefList.college_name 学院
     * @apiSuccess {String} assuageGriefList.assuage_grief_content 解忧
     * @apiSuccess {String} assuageGriefList.assuage_grief_picture 解忧图片
     * @apiSuccess {String} assuageGriefList.assuage_grief_anonymous 是否匿名（1：是，2：否）
     * @apiSuccess {int} assuageGriefList.assuage_grief_praise 点赞数
     * @apiSuccess {int} assuageGriefList.assuage_grief_comment 评论数
     * @apiSuccess {String} assuageGriefList.assuage_grief_time 发布时间
     * @apiSuccess {String} assuageGriefList.is_praise 标识是否被当前用户点赞（1：是，2：否）
     * @apiSuccess {String} assuageGriefList.is_collection 标识是否被当前用户收藏（1：是，2：否）
     *
     */
    router.post('/api/assuageGrief/wx/searchAssuageGriefListById', controller.assuageGrief.searchAssuageGriefListById);

    /**
     * @api {post} /api/assuageGrief/wx/deleteAssuageGrief 删除我的解忧 - 微信
     * @apiName deleteAssuageGrief
     * @apiGroup assuageGrief
     *
     * @apiParam {String} assuage_grief_id 解忧id.
     * @apiParam {String} user_id 当前用户id.
     *
     */
    router.post('/api/assuageGrief/wx/deleteAssuageGrief', controller.assuageGrief.deleteAssuageGrief);

    /**
     * @api {post} /api/assuageGrief/wx/searchCollectionAssuageGrief 查找我收藏的解忧 - 微信
     * @apiName searchCollectionAssuageGrief
     * @apiGroup assuageGrief
     *
     * @apiParam {int} page 页码.
     * @apiParam {int} size 每页显示大小.
     * @apiParam {String} user_id 当前用户id.
     *
     * @apiSuccess {Object} data 返回的数据
     * @apiSuccess {int} data.count 数据总数
     * @apiSuccess {Object[]} assuageGriefList 用户列表
     * @apiSuccess {String} assuageGriefList.assuage_grief_id 解忧id
     * @apiSuccess {String} assuageGriefList.user_id 用户id
     * @apiSuccess {String} assuageGriefList.user_avatarUrl 用户头像
     * @apiSuccess {String} assuageGriefList.user_nickname 用户昵称
     * @apiSuccess {String} assuageGriefList.user_sex 用户性别
     * @apiSuccess {String} assuageGriefList.user_sound_url 录音url
     * @apiSuccess {String} assuageGriefList.user_sound_status 录音状态（1：待审核，2：正常，3：屏蔽）
     * @apiSuccess {String} assuageGriefList.school_name 学校
     * @apiSuccess {String} assuageGriefList.school_badge 校徽
     * @apiSuccess {String} assuageGriefList.college_name 学院
     * @apiSuccess {String} assuageGriefList.assuage_grief_content 解忧
     * @apiSuccess {String} assuageGriefList.assuage_grief_picture 解忧图片
     * @apiSuccess {String} assuageGriefList.assuage_grief_anonymous 是否匿名（1：是，2：否）
     * @apiSuccess {int} assuageGriefList.assuage_grief_praise 点赞数
     * @apiSuccess {int} assuageGriefList.assuage_grief_comment 评论数
     * @apiSuccess {String} assuageGriefList.assuage_grief_time 发布时间
     * @apiSuccess {String} assuageGriefList.is_praise 标识是否被当前用户点赞（1：是，2：否）
     * @apiSuccess {String} assuageGriefList.is_collection 标识是否被当前用户收藏（1：是，2：否）
     *
     */
    router.post('/api/assuageGrief/wx/searchCollectionAssuageGrief', controller.assuageGrief.searchCollectionAssuageGrief);


    /**
     * @api {post} /api/assuageGrief/wx/handleCollection 处理收藏解忧（收藏、取消收藏） - 微信
     * @apiName handleCollection
     * @apiGroup assuageGrief
     *
     * @apiParam {String} type 操作类型（1：收藏，2：取消收藏）.
     * @apiParam {String} user_id 当前用户id.
     * @apiParam {String} assuage_grief_id 解忧id.
     *
     *
     */
    router.post('/api/assuageGrief/wx/handleCollection', controller.assuageGrief.handleCollection);

    /**
     * @api {post} /api/assuageGrief/wx/searchAssuageGriefById 根据解忧id查找解忧详情
     * @apiName searchAssuageGriefById
     * @apiGroup assuageGrief
     *
     * @apiParam {String} assuage_grief_id 解忧id.
     *
     * @apiSuccess {Object[]} data 返回的数据
     * @apiSuccess {String} data.user_id 用户id
     * @apiSuccess {String} data.user_avatarUrl 用户头像
     * @apiSuccess {String} data.user_nickname 昵称
     * @apiSuccess {String} data.user_sex 性别
     * @apiSuccess {String} data.user_sound_url 录音url
     * @apiSuccess {String} data.user_sound_status 录音状态（1：待审核，2：正常，3：屏蔽）
     * @apiSuccess {String} data.user_school_year 学年
     * @apiSuccess {String} data.school_name 学校名
     * @apiSuccess {String} data.school_badge 校徽
     * @apiSuccess {String} data.college_name 学院名
     * @apiSuccess {String} data.assuage_grief_id 解忧id
     * @apiSuccess {String} data.assuage_grief_content 解忧内容
     * @apiSuccess {String} data.assuage_grief_praise 点赞数
     * @apiSuccess {String} data.assuage_grief_comment 评论数
     * @apiSuccess {String} data.assuage_grief_anonymous 是否匿名（1：是，2：否）
     * 
     */
    router.post('/api/assuageGrief/wx/searchAssuageGriefById', controller.assuageGrief.searchAssuageGriefById);

    /**
     * @api {post} /api/assuageGrief/wx/createAssuageGrief 发布解忧 - 微信
     * @apiName createAssuageGrief
     * @apiGroup assuageGrief
     *
     * @apiParam {String} user_id 发布解忧用户id.
     * @apiParam {String} [topic_id] 话题id.
     * @apiParam {String} assuage_grief_content 解忧内容.
     * @apiParam {String} [assuage_grief_picture] 图片.
     * @apiParam {String} assuage_grief_anonymous 是否（1：是，2：否）.
     *
     */
    router.post('/api/assuageGrief/wx/createAssuageGrief', controller.assuageGrief.createAssuageGrief);

    /**
     * @api {post} /api/assuageGrief/searchTopicByTitle 根据标题查找话题列表
     * @apiName searchTopicByTitle
     * @apiGroup assuageGrief
     *
     * @apiParam {String} [topic_title] 话题标题.
     *
     * @apiSuccess {Object[]} data 返回的数据
     * @apiSuccess {String} data.topic_id 话题id
     * @apiSuccess {String} data.topic_title 话题标题
     *
     */
    router.post('/api/assuageGrief/searchTopicByTitle', controller.assuageGrief.searchTopicByTitle);

    /**
     * @api {post} /api/assuageGrief/showAndShieldAssuageGrief 屏蔽、解除屏蔽
     * @apiName showAndShieldAssuageGrief
     * @apiGroup assuageGrief
     *
     * @apiParam {String} assuage_grief_id 用户id.
     * @apiParam {String} type 操作类型（1：解除屏蔽，2：屏蔽）.
     *
     */
    router.post('/api/assuageGrief/showAndShieldAssuageGrief', controller.assuageGrief.showAndShieldAssuageGrief);

    /**
     * @api {post} /api/index/getActivityNum 获取每日活动发起数
     * @apiName getActivityNum
     * @apiGroup index
     *
     * @apiParam {String} startTime 开始日期（2018-08-08）.
     * @apiParam {String} endTime 结束日期（2018-08-18）.
     * 
     * @apiSuccess {Object[]} data 返回的数据
     * @apiSuccess {String} data.date 日期
     * @apiSuccess {String} data.total 每日活动发起数
     *
     */
    router.post('/api/index/getActivityNum', controller.activity.getActivityNum);

    /**
     * @api {post} /api/index/getRegisterNum 获取每日注册量
     * @apiName getRegisterNum
     * @apiGroup index
     *
     * @apiParam {String} type 类型（1：日，2：月）.
     * @apiParam {String} startTime 开始日期（日：2018-08-08，月：2018-08）.
     * @apiParam {String} endTime 结束日期（日：2018-08-18，月：2018-09）.
     * 
     * @apiSuccess {Object[]} data 返回的数据
     * @apiSuccess {String} data.date 日期
     * @apiSuccess {String} data.total 每日（月）注册量
     *
     */
    router.post('/api/index/getRegisterNum', controller.user.getRegisterNum);

    /**
     * @api {post} /api/index/getClickNum 获取每日首次点击量
     * @apiName getClickNum
     * @apiGroup index
     *
     * @apiParam {String} startTime 开始日期（2018-08-08）.
     * @apiParam {String} endTime 结束日期（2018-08-18）.
     * 
     * @apiSuccess {Object[]} data 返回的数据
     * @apiSuccess {String} data.date 日期
     * @apiSuccess {String} data.total 点击量
     *
     */
    router.post('/api/index/getClickNum', controller.browse.getClickNum);

    /**
     * @api {post} /api/index/computeBrowseTime 更新浏览时间戳
     * @apiName computeBrowseTime
     * @apiGroup index
     *
     * @apiParam {String} user_id 用户id.
     *
     */
    router.post('/api/index/computeBrowseTime', controller.browse.computeBrowseTime);

    /**
     * @api {post} /api/index/getBrowseTime 获取用户日浏览平均时间
     * @apiName getBrowseTime
     * @apiGroup index
     *
     * @apiParam {String} startTime 开始日期（2018-08-08）.
     * @apiParam {String} endTime 结束日期（2018-08-18）.
     * 
     * @apiSuccess {Object[]} data 返回的数据
     * @apiSuccess {String} data.date 日期
     * @apiSuccess {String} data.total 日平均浏览时间
     *
     */
    router.post('/api/index/getBrowseTime', controller.browse.getBrowseTime);

    /**
     * @api {post} /api/accusation/searchAccusationAll 根据条件查询举报列表
     * @apiName searchAccusationAll
     * @apiGroup accusation
     *
     * @apiParam {int} page 页码.
     * @apiParam {int} size 每页显示大小.
     * @apiParam {String} [accusation_people_phone] 手机号.
     * @apiParam {String} [user_sex] 性别（1：男，2：女）.
     * @apiParam {String} [user_school] 学校.
     *
     * @apiSuccess {Object} data 返回的数据
     * @apiSuccess {int} data.count 数据总数
     * @apiSuccess {Object[]} accusationInfo 举报列表
     * @apiSuccess {String} accusationInfo.accusation_id 主键
     * @apiSuccess {String} accusationInfo.report_user_id 被举报用户id
     * @apiSuccess {String} accusationInfo.report_user_nickname 被举报用户昵称
     * @apiSuccess {String} accusationInfo.report_user_phone 被举报用户手机号码
     * @apiSuccess {String} accusationInfo.report_user_sex 被举报用户性别
     * @apiSuccess {String} accusationInfo.report_school_name 被举报用户所在学校
     * @apiSuccess {String} accusationInfo.user_nickname 举报人昵称
     * @apiSuccess {String} accusationInfo.accusation_reason 举报原因
     * @apiSuccess {String} accusationInfo.user_phone 举报人手机号
     * @apiSuccess {String} accusationInfo.accusation_type 举报类型（1：用户，2：解忧，3：评论）
     * @apiSuccess {String} accusationInfo.accusation_picture 举报人证图
     * @apiSuccess {String} accusationInfo.accusation_status 状态（1：已处理，2：待审核，3：忽略，4：禁言，5：封号）
     * @apiSuccess {String} accusationInfo.created_at 举报时间
     *
     */
    router.post('/api/accusation/searchAccusationAll', controller.accusation.searchAccusationAll);

    /**
     * @api {post} /api/accusation/editAccusationStatus 操作举报状态
     * @apiName editAccusationStatus
     * @apiGroup accusation
     *
     * @apiParam {String} report_user_id 被举报用户id.
     * @apiParam {String} accusation_id 主键.
     * @apiParam {String} type 操作类型（1：取消处罚，2：忽略，3：禁言，4：封号）.
     * @apiParam {String} accusation_status 当前举报状态.
     * @apiParam {int} [anexcuse_time] 禁言时长（分钟）（操作类型为禁言）.
     *
     */
    router.post('/api/accusation/editAccusationStatus', controller.accusation.editAccusationStatus);

    /**
     * @api {post} /api/accusation/getSystemExcuseTime 获取系统默认禁言时间
     * @apiName getSystemExcuseTime
     * @apiGroup accusation
     *
     * @apiSuccess {Object} data 返回的数据
     * @apiSuccess {String} data.excuse_time 禁言时长（单位：小时）
     *
     */
    router.post('/api/accusation/getSystemExcuseTime', controller.accusation.getSystemExcuseTime);

    /**
     * @api {post} /api/wx/user/wxLogin 微信端用户登录 - 微信
     * @apiName wxLogin
     * @apiGroup wx_user
     *
     * @apiParam {String} user_phone 手机号.
     * 
     * @apiSuccess {Object} data 返回的数据
     * @apiSuccess {String} data.user_id 用户id
     * @apiSuccess {String} data.token token
     *
     */
    router.post('/api/wx/user/wxLogin', controller.user.wxLogin);

    /**
     * @api {post} /api/wx/user/userRegister 微信端用户注册 - 微信
     * @apiName userRegister
     * @apiGroup wx_user
     *
     * @apiParam {String} user_nickname 昵称.
     * @apiParam {String} user_phone 手机号.
     * @apiParam {String} user_code 验证码.
     * @apiParam {String} user_sex 性别（1：男，2：女）.
     * @apiParam {String} user_school_id 学校id.
     * @apiParam {String} user_college_id 学院.
     * @apiParam {String} user_school_year 学年.
     * @apiParam {String} user_student_id 学号.
     * @apiParam {String} user_school_Card 校卡.
     * @apiParam {String} user_openId openid.
     *
     * @apiSuccess {Object} data 返回的数据
     * @apiSuccess {String} data.token 用户token
     */
    router.post('/api/wx/user/userRegister', controller.user.userRegister);

    /**
     * @api {post} /api/wx/user/sendSMS 发送短信 - 微信
     * @apiName sendSMS
     * @apiGroup wx_user
     *
     * @apiParam {String} phone 手机号.
     * @apiParam {String} type 类型（1：用户注册，2：创建活动，3：活动报名）.
     *
     * @apiSuccess {Object} data 返回的数据
     * @apiSuccess {String} data.token 用户token
     */
    router.post('/api/wx/user/sendSMS', controller.user.sendSMS);

    /**
     * @api {post} /api/wx/friends/searchFriends 查找惦记数量 - 微信
     * @apiName searchFriends
     * @apiGroup friends-wx
     *
     * @apiParam {String} user_id 当前用户id .
     * @apiParam {String} type 类型（1：互相惦记，2：被惦记，3：我惦记）.
     *
     * @apiSuccess {Object} data 返回的数据
     * @apiSuccess {String} data.user_id 用户id
     * @apiSuccess {String} data.user_nickname 昵称
     * @apiSuccess {String} data.user_avatarUrl 头像
     * @apiSuccess {String} data.user_sex 性别（1：男，2：女）
     * @apiSuccess {String} data.user_sound_url 录音url
     * @apiSuccess {String} data.user_sound_status 录音状态（1：待审核，2：正常，3：屏蔽）
     * @apiSuccess {String} data.school_name 学校名
     * @apiSuccess {String} data.school_badge 校徽
     * @apiSuccess {String} data.college_name 学院名
     * @apiSuccess {String} data.user_signature 签名
     * @apiSuccess {String} data.user_praise 点赞量
     * @apiSuccess {String} data.is_praise 标识是否被当前用户点赞（1：是，2：否）
     * @apiSuccess {String} data.evaluateCount 评价数
     */
    router.post('/api/wx/friends/searchFriends', controller.friends.searchFriends);

    /**
     * @api {post} /api/wx/praise/dealWithPraise 处理点赞（点赞，取消点赞） - 微信
     * @apiName dealWithPraise
     * @apiGroup praise
     *
     * @apiParam {String} user_id 点赞用户id .
     * @apiParam {String} target_id 被点赞对象id.
     * @apiParam {String} operateType 操作类型（1：点赞，2：取消点赞）.
     * @apiParam {String} targetType 对象类型（1：用户，2：解忧，3：评论）.
     *
     */
    router.post('/api/wx/praise/dealWithPraise', controller.praise.dealWithPraise);

    /**
     * @api {post} /api/wx/comment/searchCommentById 根据解忧id获取评论列表 - 微信
     * @apiName searchCommentById
     * @apiGroup comment
     *
     * @apiParam {String} assuage_grief_id 解忧id .
     * 
     * @apiSuccess {Object[]} data 返回的数据
     * @apiSuccess {String} data.comment_id 评论id
     * @apiSuccess {String} data.comment_content 评论内容
     * @apiSuccess {String} data.comment_status 是否匿名（1：是，2：否）
     * @apiSuccess {String} data.be_comment_status 被评论对象是否匿名（1：是，2：否）
     * @apiSuccess {int} data.comment_praise 点赞数
     * @apiSuccess {String} data.user_id 评论人id
     * @apiSuccess {String} data.user_avatarUrl 头像
     * @apiSuccess {String} data.user_nickname 昵称
     * @apiSuccess {String} data.user_sex 性别（1：男，2：女）
     * @apiSuccess {String} data.school_name 学校名
     * @apiSuccess {String} data.school_badge 校徽
     * @apiSuccess {String} data.college_name 学院名
     * @apiSuccess {String} data.created_at 评论创建时间
     * @apiSuccess {String} data.is_praise 是否被当前用户点赞（1：是，2：否）
     * @apiSuccess {Object[]} data.commentList 回复列表
     * @apiSuccess {String} data.commentList.comment_id 评论id
     * @apiSuccess {String} data.commentList.comment_content 回复内容
     * @apiSuccess {String} data.commentList.comment_status 是否匿名（1：是，2：否）
     * @apiSuccess {String} data.commentList.be_comment_status 被评论对象是否匿名（1：是，2：否）
     * @apiSuccess {String} data.commentList.user_id 回复人id
     * @apiSuccess {String} data.commentList.user_nickname 回复人昵称
     * @apiSuccess {String} data.commentList.target_user_id 被回复人id
     * @apiSuccess {String} data.commentList.target_user_nickname 被回复人昵称
     * @apiSuccess {String} data.commentList.created_at 创建时间
     *
     */
    router.post('/api/wx/comment/searchCommentById', controller.comment.searchCommentById);

    /**
     * @api {post} /api/wx/comment/searchAdminCommentById 根据解忧id获取评论列表 - 后台
     * @apiName searchAdminCommentById
     * @apiGroup comment
     *
     * @apiParam {String} assuage_grief_id 解忧id .
     * 
     * @apiSuccess {Object[]} data 返回的数据
     * @apiSuccess {String} data.comment_id 评论id
     * @apiSuccess {String} data.comment_content 评论内容
     * @apiSuccess {String} data.is_shield 是否屏蔽（1：正常，2：屏蔽）
     * @apiSuccess {String} data.user_id 评论人id
     * @apiSuccess {String} data.user_nickname 昵称
     * @apiSuccess {String} data.created_at 评论创建时间
     * @apiSuccess {Object[]} data.commentList 回复列表
     * @apiSuccess {String} data.commentList.comment_id 评论id
     * @apiSuccess {String} data.commentList.comment_content 回复内容
     * @apiSuccess {String} data.commentList.is_shield 是否屏蔽（1：正常，2：屏蔽）
     * @apiSuccess {String} data.commentList.user_id 回复人id
     * @apiSuccess {String} data.commentList.user_nickname 回复人昵称
     * @apiSuccess {String} data.commentList.target_user_id 被回复人id
     * @apiSuccess {String} data.commentList.target_user_nickname 被回复人昵称
     * @apiSuccess {String} data.commentList.created_at 创建时间
     *
     */
    router.post('/api/wx/comment/searchAdminCommentById', controller.comment.searchAdminCommentById);

    /**
     * @api {post} /api/comment/editCommentShield 操作评论状态（1：解除屏蔽，2：屏蔽）
     * @apiName editCommentShield
     * @apiGroup comment
     *
     * @apiParam {String} comment_id 评论id .
     * @apiParam {String} type 操作类型（1：解除屏蔽，2：屏蔽） .
     * 
     *
     */
    router.post('/api/comment/editCommentShield', controller.comment.editCommentShield);

    /**
     * @api {post} /api/wx/comment/commentReply 评论回复 - 微信
     * @apiName commentReply
     * @apiGroup comment
     *
     * @apiParam {String} assuage_grief_id 解忧id .
     * @apiParam {String} level 级别（1：一级，2：二级） .
     * @apiParam {String} user_id 评论人id .
     * @apiParam {String} comment_content 评论内容 .
     * @apiParam {String} comment_status 是否匿名（1：是，2：否）.
     * @apiParam {String} be_comment_status 被评论对象是否匿名（1：是，2：否）.
     * @apiParam {String} [comment_parent_id] 父评论id（即一级评论id） .
     * @apiParam {String} [target_user_id] 回复对象id（即@对象） .
     * 
     *
     */
    router.post('/api/wx/comment/commentReply', controller.comment.commentReply);

    /**
     * @api {post} /api/wx/upload/upload 上传图片
     * @apiName upload
     * @apiGroup upload
     *
     * @apiSuccess {Object[]} data 返回的数据
     * @apiSuccess {String} data.imgName 图片名
     */
    router.post('/api/wx/upload/upload', controller.upload.upload);

    /**
    * @api {post} /api/wx/upload/uploadImage 从微信服务器下载图片
    * @apiName uploadImage
    * @apiGroup upload
    *
    * @apiParam {String} serverId 媒体id .
    * @apiParam {String} [type] 文件类型（默认为图片，1：图片，2：语音） .
    * 
    * @apiSuccess {Object[]} data 返回的数据
    * @apiSuccess {String} data.url 图片名
    */
    router.post('/api/wx/upload/uploadImage', controller.upload.uploadImage);

    /**
    * @api {get} /api/wx/upload/exportExcel 导出报名表
    * @apiName exportExcel
    * @apiGroup upload
    *
    * @apiParam {String} activity_id 活动id .
    * 
    */
    router.get('/api/wx/upload/exportExcel', controller.upload.exportExcel);

    /**
     * @api {post} /api/wx/wxPlatform/getAuthorizeUrl 普通url转公众号授权url
     * @apiName getAuthorizeUrl
     * @apiGroup wxPlatform
     *
     * @apiParam {String} url 当前页面url.
     * 
     * @apiSuccess {Object[]} data 返回的数据
     * @apiSuccess {String} data.url 授权url
     */
    router.post('/api/wx/wxPlatform/getAuthorizeUrl', controller.user.getAuthorizeUrl);

    /**
     * @api {post} /api/wx/wxPlatform/getopenId 根据code换取openid
     * @apiName getopenId
     * @apiGroup wxPlatform
     *
     * @apiParam {String} code 授权返回的code.
     * 
     * @apiSuccess {Object[]} data 返回的数据
     * @apiSuccess {String} data.openId 用户openId
     */
    router.post('/api/wx/wxPlatform/getopenId', controller.user.getopenId);

    /**
     * @api {post} /api/wx/wxPlatform/checkRegisterByOpenId 根据openId判断是否注册（如果已注册则返回用户id，学校id等信息）
     * @apiName checkRegisterByOpenId
     * @apiGroup wxPlatform
     *
     * @apiParam {String} openId 用户openId.
     * 
     * @apiSuccess {Object[]} data 返回的数据
     * @apiSuccess {String} data.user_id 用户id
     * @apiSuccess {String} data.user_school_id 学校id
     * @apiSuccess {String} data.user_college_id 学院id
     */
    router.post('/api/wx/wxPlatform/checkRegisterByOpenId', controller.user.checkRegisterByOpenId);

    /**
     * @api {post} /api/wx/wxPlatform/getTemplateList 获取模板列表
     * @apiName getTemplateList
     * @apiGroup wxPlatform
     *
     * 
     * @apiSuccess {Object[]} data 返回的数据
     * @apiSuccess {Object[]} data.template_list 模板列表
     * @apiSuccess {String} data.template_list.template_id 模板id
     * @apiSuccess {String} data.template_list.title 模板标题
     * @apiSuccess {String} data.template_list.primary_industry 模板所属一级行业
     * @apiSuccess {String} data.template_list.deputy_industry 模板所属二级行业
     * @apiSuccess {String} data.template_list.content 模板内容
     * @apiSuccess {String} data.template_list.example 模板示例
     * @apiSuccess {Object[]} data.template_list.keyArr 模板内容对应key
     */
    router.post('/api/wx/wxPlatform/getTemplateList', controller.template.getTemplateList);

    /**
     * @api {post} /api/wx/wxPlatform/createdTemplate 创建自定义模板
     * @apiName createdTemplate
     * @apiGroup wxPlatform
     *
     * @apiParam {String} template_id 公众号消息模板id.
     * @apiParam {String} template_title 消息模板标题.
     * @apiParam {String} template_type 模板类型.
     * @apiParam {String} [user_list] 用户openid（多个用户用逗号隔开）.
     * @apiParam {String} template_content 模板内容.
     * @apiParam {String} is_send 是否立即发送（1：是，2：否）.
     * 
     * @apiSuccess {Object} data 返回的数据
     * @apiSuccess {int} data.success 成功发送数
     * @apiSuccess {int} data.fail 失败发送数
     * @apiSuccess {Object[]} data.failList 发送失败用户列表
     * @apiSuccess {String} data.failList.openId 发送失败用户openId
     * @apiSuccess {String} data.failList.msg 发送失败信息
     * 
     */
    router.post('/api/wx/wxPlatform/createdTemplate', controller.template.createdTemplate);

    /**
     * @api {post} /api/wx/wxPlatform/deleteTemplate 删除自定义模板
     * @apiName deleteTemplate
     * @apiGroup wxPlatform
     *
     * @apiParam {String} template_id 自定义模板id.
     * 
     */
    router.post('/api/wx/wxPlatform/deleteTemplate', controller.template.deleteTemplate);

    /**
     * @api {post} /api/wx/wxPlatform/searchTemplate 查询自定义模板
     * @apiName searchTemplate
     * @apiGroup wxPlatform
     *
     * @apiParam {String} page 页码.
     * @apiParam {String} size 一页显示条数.
     * @apiParam {String} [template_title] 标题.
     * @apiParam {String} [template_send_time] 发送时间（2018-09-18）.
     * 
     * @apiSuccess {Object[]} data 返回的数据
     * @apiSuccess {String} data.template_id 自定义模板id
     * @apiSuccess {String} data.template_template_id 公众号消息模板id
     * @apiSuccess {String} data.template_title 标题
     * @apiSuccess {String} data.template_type 类型（1：群体消息，2：用户消息）
     * @apiSuccess {String} data.user_list 用户openId（多个用户用逗号隔开）
     * @apiSuccess {String} data.template_content 内容
     * @apiSuccess {String} data.template_send_time 发送时间
     * 
     */
    router.post('/api/wx/wxPlatform/searchTemplate', controller.template.searchTemplate);

    /**
     * @api {post} /api/wx/wxPlatform/editTemplate 修改自定义模板
     * @apiName editTemplate
     * @apiGroup wxPlatform
     *
     * @apiParam {String} template_id 自定义模板id.
     * @apiParam {String} template_template_id 公众号消息模板id.
     * @apiParam {String} template_title 消息模板标题.
     * @apiParam {String} template_type 模板类型.
     * @apiParam {String} [user_list] 用户openid（多个用户用逗号隔开）.
     * @apiParam {String} template_content 模板内容.
     * @apiParam {String} is_send 是否立即发送（1：是，2：否）.
     * 
     * @apiSuccess {Object} data 返回的数据
     * @apiSuccess {int} data.success 成功发送数
     * @apiSuccess {int} data.fail 失败发送数
     * @apiSuccess {Object[]} data.failList 发送失败用户列表
     * @apiSuccess {String} data.failList.openId 发送失败用户openId
     * @apiSuccess {String} data.failList.msg 发送失败信息
     * 
     */
    router.post('/api/wx/wxPlatform/editTemplate', controller.template.editTemplate);

    /**
     * @api {post} /api/wx/wxPlatform/searchMessage 查找消息历史
     * @apiName searchMessage
     * @apiGroup wxPlatform
     *
     * @apiParam {String} page 页码.
     * @apiParam {String} size 一页显示条数.
     * @apiParam {String} [template_title] 标题.
     * @apiParam {String} [template_send_time] 发送时间（2018-09-18）.
     * 
     * @apiSuccess {Object[]} data 返回的数据
     * @apiSuccess {String} data.template_title 标题
     * @apiSuccess {String} data.template_type 类型（1：群体消息，2：用户消息）
     * @apiSuccess {String} data.template_content 内容
     * @apiSuccess {String} data.created_at 发送时间
     */
    router.post('/api/wx/wxPlatform/searchMessage', controller.template.searchMessage);

    /**
     * @api {post} /api/wx/wxPlatform/sendMessage 发送消息
     * @apiName sendMessage
     * @apiGroup wxPlatform
     *
     * @apiParam {String} template_id 自定模板id.
     * 
     * @apiSuccess {Object} data 返回的数据
     * @apiSuccess {int} data.success 成功发送数
     * @apiSuccess {int} data.fail 失败发送数
     * @apiSuccess {Object[]} data.failList 发送失败用户列表
     * @apiSuccess {String} data.failList.openId 发送失败用户openId
     * @apiSuccess {String} data.failList.msg 发送失败信息
     */
    router.post('/api/wx/wxPlatform/sendMessage', controller.template.sendMessage);

    /**
     * @api {post} /api/wx/wxPlatform/sendNotifications 发送通知
     * @apiName sendNotifications
     * @apiGroup wxPlatform
     *
     * @apiParam {String} template_id 模板id.
     * @apiParam {String} template_content 模板内容（键值对形式）.
     * @apiParam {String} open_id 用户openid（多个用户用逗号隔开）.
     * 
     * @apiSuccess {Object} data 返回的数据
     * @apiSuccess {int} data.success 成功发送数
     * @apiSuccess {int} data.fail 失败发送数
     * @apiSuccess {Object[]} data.failList 发送失败用户列表
     * @apiSuccess {String} data.failList.openId 发送失败用户openId
     * @apiSuccess {String} data.failList.msg 发送失败信息
     */
    router.post('/api/wx/wxPlatform/sendNotifications', controller.template.sendNotifications);

    /**
     * @api {post} /api/wx/wxPlatform/getSignPackage 获取微信签名
     * @apiName getSignPackage
     * @apiGroup wxPlatform
     *
     * @apiParam {String} url 当前页面url.
     * 
     * @apiSuccess {Object} data 返回的数据
     * @apiSuccess {Sting} data.appId 公众号唯一标识
     * @apiSuccess {String} data.nonceStr 生成签名的随机串
     * @apiSuccess {int} data.timestamp 时间戳
     * @apiSuccess {String} data.signature 签名
     */
    router.post('/api/wx/wxPlatform/getSignPackage', controller.template.getSignPackage);

    /**
     * @api {get} /api/wx/wxPlatform/directToGetCode 重定向到微信授权
     * @apiName directToGetCode
     * @apiGroup wxPlatform
     *
     */
    router.get('/api/wx/wxPlatform/directToGetCode', controller.user.directToGetCode);

    /**
     * @api {get} /api/wx/wxPlatform/getCode 微信服务器重定向地址（获取code）
     * @apiName getCode
     * @apiGroup wxPlatform
     *
     */
    router.get('/api/wx/wxPlatform/getCode', controller.user.getCode);

    /**
     * @api {post} /api/wx/wxPlatform/acceptCloundMessage 接收融云聊天消息
     * @apiName acceptCloundMessage
     * @apiGroup wxPlatform
     *
     */
    router.post('/api/wx/wxPlatform/acceptCloundMessage', controller.template.acceptCloundMessage);

    /**
     * @api {post} /api/wx/clound/getChatLog 获取当前用户与目标用户的聊天记录（按时间先后顺序排）
     * @apiName getChatLog
     * @apiGroup clound
     *
     * @apiParam {String} page 页码.
     * @apiParam {String} size 一页显示数量.
     * @apiParam {String} user_id 当前用户id.
     * @apiParam {String} target_user_id 目标用户id.
     * @apiParam {String} dateTime 时间.
     * 
     * @apiSuccess {Object} data 返回的数据
     * @apiSuccess {String} data.clound_message_id 聊天记录id
     * @apiSuccess {String} data.content 聊天内容
     * @apiSuccess {String} data.fromUserId 发送方用户id
     * @apiSuccess {String} data.fromUserNickName 发送方用户昵称
     * @apiSuccess {String} data.fromUserAvatarUrl 发送方用户头像
     * @apiSuccess {String} data.toUserId 接收方用户id
     * @apiSuccess {String} data.created_at 创建时间
     * @apiSuccess {String} data.is_my 标识发送方是否是当前用户
     */
    router.post('/api/wx/clound/getChatLog', controller.clound.getChatLog);

    /**
     * @api {post} /api/wx/clound/getCloundFriend 获取聊天好友列表
     * @apiName getCloundFriend
     * @apiGroup clound
     *
     * @apiParam {String} user_id 当前用户id.
     * 
     * @apiSuccess {Object} data 返回的数据
     * @apiSuccess {String} data.user_id 好友id
     * @apiSuccess {String} data.user_nickname 好友昵称
     * @apiSuccess {String} data.user_avatarUrl 好友头像
     * @apiSuccess {String} data.created_at 创建时间
     */
    router.post('/api/wx/clound/getCloundFriend', controller.clound.getCloundFriend);

    /**
     * @api {post} /api/wx/clound/getCloundKey 获取融云key
     * @apiName getCloundKey
     * @apiGroup clound
     * 
     * @apiSuccess {Object} data 返回的数据
     * @apiSuccess {String} data.appKey 融云key
     */
    router.post('/api/wx/clound/getCloundKey', controller.clound.getCloundKey);

    /**
     * @api {post} /api/wx/user/updateResultList 分享后更新搜索结果-微信
     * @apiName updateResultList
     * @apiGroup user
     *
     * @apiParam {String} user_id 用户id.
     * @apiParam {String} open_id open_id.
     */
    router.post('/api/wx/user/updateResultList', controller.user.updateResultList);

    /**
     * @api {post} /api/wx/user/deleteSound 删除录音-微信
     * @apiName deleteSound
     * @apiGroup user
     *
     * @apiParam {String} user_id 用户id.
     */
    router.post('/api/wx/user/deleteSound', controller.user.deleteSound);

    /**
     * @api {post} /api/wx/cheerio/gcRegister 广才学生注册-微信
     * @apiName gcRegister
     * @apiGroup cheerio
     *
     * @apiParam {String} student_id 学号.
     * @apiParam {String} student_password 密码.
     * @apiParam {String} openid .
     */
    router.post('/api/wx/cheerio/gcRegister', controller.cheerio.gcRegister);
};
